package com.zgjkhis.modules.outpatient.dto;

import com.zgjkhis.annotation.Query;
import com.zgjkhis.modules.system.domain.OrderAddress;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Range;

import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

/**
 * 订单收费
 */
@Data
@NoArgsConstructor
public class ChargeOrderCriteria {

    @Query
    @ApiModelProperty(value = "订单号")
    private String orderNo;

    @ApiModelProperty(value = "1-邮寄，2-自提，不传默认是1")
    @NotNull(message = "取药方式不能为空")
    @Range(min = 1,max=2,message = "取药方式错误")
    private Integer deliveryType;

    @ApiModelProperty(value = "邮寄地址")
    @Valid
    private OrderAddress orderAddress;

    @ApiModelProperty(value = "减免费用")
    private BigDecimal diffFee;

    @ApiModelProperty(value = "药费折扣")
    private BigDecimal drugDiscount;

    @ApiModelProperty(value = "整体折扣")
    private BigDecimal allDiscount;

    @ApiModelProperty(value = "其他费用")
    private BigDecimal otherFee;

    @ApiModelProperty(value = "邮寄收费")
    private BigDecimal expressFee;

    @ApiModelProperty(value = "支付方式：1：现金，2：微信，3：支付宝，4：银行卡，5：医保")
    @NotNull(message = "支付方式不能为空")
    @Range(min = 1,max=5,message = "支付方式错误")
    private Integer payWay;



}
